約 3,066,485 件
https://w.atwiki.jp/ooooasys/pages/18.html
fmlbalc1.dll 全文書共通の関数ライブラリが含まれたdll int xoas_cfn_globalalloc(DWORD dwBytes, HGLOBAL hMem, WORD uFlags) 処理 内部でGlobalAllocを呼んでいるだけ uFlagsはmovzxで32bitに拡張される 戻り値 型はWORDかも知れない 正常 2 異常 0 int xoas_cfn_globalfree(HGLOBAL hMem) 処理 GlobalFreeを呼んでいるだけ 戻り値 型はWORDかも知れない 正常 2 異常 0 int xoas_cfn_gloallock(HGLOBAL hMem) 処理 内部でGlobalLockを呼んでいるだけ 戻り値 GlobalLockの戻り値と同じ int xoas_cfn_globalunlock(HGLOBAL hMem) 処理 内部でGlobalUnlockを呼んでいるだけ 戻り値 GlobalUnlockの戻り値と同じ int xoas_cfn_globalrealloc(DWORD dwBytes, HGLOBAL hMem, int flags) 処理 xoas_cfn_globalallocのrealloc版 戻り値 正常 2 異常 0 int xoas_cfn_writefile(char* funcname) 処理 Tickのカウント、時間、処理時間、関数名?などをファイルに書き込んでいる デバッグ用と思われる。 戻り値 エラー(file内static変数hFileがない) 1 正常 0 int __stdcall xoas_cfn_writefile2(char *funcname,DWORD NumberOfBytesWritten) 処理 xoas_cfn_writefileの変形と思われる。NumberOfBytesWrittenが追加されている int __stdcall xoas_cfn_loadmodule(int,int,char *,int) 処理 中でLoadLibraryを呼んでいるUnixでいうdlopenみたいなもの
https://w.atwiki.jp/abwiki/pages/236.html
Basic言語でDLLを作るだって?冗談言うなよ! それが、ActiveBasicでは自然な形で作れてしまいます。ネイティブ コードにコンパイルされるため、DLLプログラムとして要求されるだけの実行速度、プログラム サイズが期待できます。 作り方はとてもシンプル 通常のEXEプログラムと違う点は以下の2つだけ。 ① プロジェクト作成時に「DLL」を選択する ② エクスポートする関数には "Export" 指定をする ①は画面の説明に従うだけなので解説の必要はありませんね。②に関してですが、今までは関数を定義するというと、 Sub func1(parm...) ... End Sub Function func2(oarm...) As Long ... End Sub という感じに定義するのに対し、エクスポートする関数に関しては、 Sub Export func1(parm...) ... End Sub Function Export func2(oarm...) As Long ... End Sub などと、"Sub/Function" の後に "Export" という指定をしましょうということです。エクスポートとは、外部プログラムから呼び出すことができる関数のことです。例えば、func1という関数をエクスポートし、test.dllを作成すると、 Declare Sub func1 Lib "test.dll" (parm...) というように、外部プログラム(EXEやDLL)からの呼び出しが可能になります。 実際にDLLを作ってみよう DLLの利点は、なんといっても汎用性の高いプログラムを様々なアプリケーション プログラムから共有する形で呼び出すことができることにつきます。そこで、今回は2つの役立ちそうな機能(関数)をDLL化してみたいと思います。 GetFileDlg … OPENFILENAME構造体の初期化、GetOpenFileName/GetSaveFileName関数の呼び出し GetFolderDlg … GetFileDlgにちなんで、フォルダ(ディレクトリ)パスを取得するためのダイアログボックスを表示するプログラムをまとめる まずは、プロジェクトの作成から。プロジェクト名を "FileDlg" などとし、タイプを "DLL" にします。プロジェクト オプションなどの設定は特に必要ありません。 プロジェクトの作成はできたでしょうか?ここから皆さんが扱うファイルは、FileDlg.sbp のみになります。このファイルに関数郡を定義していくのですが、なにやら、初期状態ですでにDllMainといった関数が定義されています。これはDLLのロードやスレッド開始、終了などの処理を記述するための特別な関数ですが、めったなことではいじりませんので、ほっときましょう。そのDllMain関数の下に独自の関数を定義していきます。 エクスポート関数 "GetFileDlg" を作る この関数では、「ファイルを開く」「ファイルの保存」ダイアログボックスを表示します。OPENFILENAME構造体の内容を共有する形で、GetOpenFileName関数、GetSaveFileName関数を呼び出します。ユーザーがファイルを選択すると1が、キャンセルすると0が返るようにします。 Function Export GetFileDlg(hWnd As Long, lpBuf As BytePtr, lpFilter As BytePtr, bOpen As Long) As Long Dim ofn As OPENFILENAME 'OPENFILENAME構造体の初期化 FillMemory(VarPtr(ofn),Len(ofn),0) ofn.lStructSize=Len(ofn) ofn.hwndOwner=hWnd SetDWord(VarPtr(ofn.lpstrFilter),lpFilter) ofn.nFilterIndex=1 SetDWord(VarPtr(ofn.lpstrFile),lpBuf) ofn.nMaxFile=MAX_PATH ofn.Flags=OFN_FILEMUSTEXIST or OFN_HIDEREADONLY or OFN_PATHMUSTEXIST ofn.lpstrDefExt="*" If bOpen Then ofn.lpstrTitle="ファイルを開く" '「ファイルを開く」ダイアログ ボックスを表示 If GetOpenFileName(ofn)=0 Then GetFileDlg=0 Exit Sub End If Else ofn.lpstrTitle="ファイルの保存" '「ファイルの保存」ダイアログ ボックスを表示 If GetSaveFileName(ofn)=0 Then GetFileDlg=0 Exit Sub End If End If GetFileDlg=1End Function エクスポート関数 "GetFolderDlg" を作る SHBrowseForFolder関数、SHGetPathFromIDList関数を初めて目にした方がほとんどでしょう。SHBrowseForFolder関数で「フォルダの参照」ダイアログボックスを表示し、ユーザーがOKボタンを押すとSHGetPathFromIDList関数でフォルダへのパスを取得する流れになっています。ユーザーがフォルダを選択すると1が、キャンセルボタンを押すと0が返るようにします。 Function Export GetFolderDlg(hWnd As Long, lpFolder As BytePtr) As Long Dim bi As BROWSEINFO Dim pidlBrowse As VoidPtr 'BROWSEINFO構造体の初期化 FillMemory(VarPtr(bi),Len(bi),0) bi.hwndOwner=hWnd bi.lpszTitle="フォルダの選択" bi.ulFlags=BIF_RETURNONLYFSDIRS '「フォルダの参照」ダイアログボックスを表示 pidlBrowse=SHBrowseForFolder(bi) If pidlBrowse Then 'フォルダへのパスを取得(lpFolderポインタが示すバッファにコピー) SHGetPathFromIDList(pidlBrowse, lpFolder) GetFolderDlg=1 Else GetFolderDlg=0 End IfEnd Function DLL内のプログラムはこれですべてです。コンパイルが正常に行われると、"FileDlg.dll" というファイルが生成されるはずです。 "FileDlg.dll" を作ったはいいが、どうやって使うの? ということで、DLL呼び出しのサンプル プログラムを作ってみましょう。ProjectEditorの新規作成でBasicプログラムを選択し、以下のソースコードを入力します。コンパイル前に、"test.abp" などというファイル名でFileDlgプロジェクトのディレクトリに保存しておきましょう。 Declare Function GetFileDlg Lib "FileDlg" ( hWnd As Long, lpBuf As BytePtr, lpFilter As BytePtr, bOpen As Long) As LongDeclare Function GetFolderDlg Lib "FileDlg" ( hWnd As Long, lpFolder As BytePtr) As LongDim i As LongDim buf As StringDim FileFilter As Stringbuf=ZeroString(MAX_PATH)FileFilter="すべてのファイル(*.*)" + Chr$(0) + "*" + Chr$(0)'開くダイアログを表示i=GetFileDlg(0, _ StrPtr(buf), _ StrPtr(FileFilter), _ 1)If i Then MessageBox(0,buf,"「ファイルを開く」で選択されたファイル",MB_OK)Else MessageBox(0,"ファイルは選択されませんでした","エラー",MB_OK)End If'保存ダイアログを表示i=GetFileDlg(0, _ StrPtr(buf), _ StrPtr(FileFilter), _ 0)If i Then MessageBox(0,buf,"「ファイルの保存」で選択されたファイル",MB_OK)Else MessageBox(0,"ファイルは選択されませんでした","エラー",MB_OK)End If'「フォルダの参照」ダイアログを表示i=GetFolderDlg(0,StrPtr(buf))If i Then MessageBox(0,buf,"「ファイルの参照」で選択されたフォルダ",MB_OK)Else MessageBox(0,"フォルダは選択されませんでした","エラー",MB_OK)End IfExitProcess(0) 上のプログラムでわかるとおり、Win32APIの関数を定義したことがある方なら、自作DLL内の関数の定義、呼び出しは朝飯前ですね!? DLL作成は初めてだったというかたはどうだったでしょうか?今回作成したFileDlg.dllは、意外と便利なDLLなので、テキスト エディタ プログラムなどで採用してみるのも良いかもしれません。
https://w.atwiki.jp/c0metssd/pages/131.html
プログラムメニューから、「Visual Studio 2013」→「Visual Studioツール」→「※」 ※環境にあったものを選択する 「VS2013 x64 Native Tools コマンド プロンプト」 プロンプトが開くので以下のコマンドを入力する dumpbin.exe /HEADERS DLL名 | findstr machine 64bitの場合 8664 machine (x64) 32bitの場合 14C machine (x86) 2015/12/09
https://w.atwiki.jp/kgh07155/pages/28.html
作り方の基本 フォーム付きDLLの作り方 実行ファイルからDLL内フォームを制御する 作り方の基本 DLLSample.dpr(DLLのソースファイル) library DLLSample; // library はDLLであることを示す。 uses SysUtils, Classes; // Unit作成時と同様に、必要ならばユニットを追加して構わない。 {$R *.res} // ここから、DLL側が行う処理をUnit作成時と同様に記述。 // 返し値を持たない処理は procedure // 返し値を持つ処理は function // 固定値は受け渡せないので、DLL側で管理する固定値は function で返す。 function Version ShortString; stdcall; // 最後に stdcall を追加すると、Delphi以外の言語でも返し値が使えるようになる。 // ただしDelphi以外の言語で返し値を使いたい場合は、返し値の型にも注意すること。 // 例えば String はDelphi独自の型なので、PChar か ShortString を使うようにする。 begin Result = DateToStr( FileDateToDateTime(FileAge( DLLSample.dll )) ); // この場合、返し値は DLLSample.dll と言うファイルのタイムスタンプ。 end; exports Version; // 外部ファイルから呼び出せる処理を記述。 // ここに記述されない処理は、DLL内部専用処理になる。 begin end. Unit_Sample.pas(DLLを呼び出す Unit のソースファイル) unit Unit_Sample; {$R *.dfm} // ここから、DLLを呼び出すための記述。 function ver ShortString; stdcall; // 処理名や引数名は異なっても構わないが、 // 引数や返し値の型と「stdcall」の有無は、DLL側と同じにすること。 external DLLsample.dll name Version ; // external で呼び出すDLLを指定する。 // name は、DLL内部での処理名が、ここに記述した処理名と異なることを示す。 // DLL内部での処理名と、ここに記述した処理名が同じなら不要。 // また、DLL内部の処理名は常に大文字と小文字が区別されるので、 // 大文字・小文字は常に正確に記述すること。 // ここまで、DLLを呼び出すための記述。 procedure TForm1.FormCreate(Sender TObject); begin self.Caption = ver; end; end. フォーム付きDLLの作り方 DLLSample.dpr(DLLのソースファイル) library DLLSample; uses Windows, // 呼び出し元の特定に使用。 Forms, // フォームの操作に使用。 Controls, // 返し値 TModalResult の操作に使用。 Unit_DLLForm in Unit_DLLForm.pas {DLLForm}; // フォームのソースファイル。 {$R *.res} function ShowDLLForm(hOwner HWND) TModalResult; stdcall; begin Application.Handle = hOwner; // 呼び出し元の情報をDLL側が受け取る。 DllForm = TDllForm.Create(Application); // DLL側でフォームを作成する。 // フォームに配置された各オブジェクトも、自動で作成される。 Result = DllForm.ShowModal; // 返し値を設定。 DllForm.Free; // DLL側で作成したフォームを破棄。 Application.Handle = 0; // 呼び出し元の情報を破棄。 end; procedure ShowDLLForm2; begin DllForm = TDllForm.Create(Application); // DLL側でフォームを作成する。 DllForm.Show; // 作成したフォームを表示。 end; exports ShowDLLForm, ShowDLLForm2; begin end. Unit_DLLForm(DLLに組み込みたいフォームのソースファイル) 通常のアプリケーションと同様に作成。 このプログラムの場合、Button1を配置し、Button1.ModalResult = mrOK に設定する。 Unit_Sample.pas(DLLを呼び出す Unit のソースファイル) フォームにButton1とButton2を配置する。 unit Unit_Sample; implementation {$R *.dfm} // ここから、DLLを呼び出すための記述。 function ShowDLLForm(hOwner HWND) TModalResult; stdcall; external DLLSample.dll ; procedure ShowDLLForm2; external DLLSample.dll ; // ここまで、DLLを呼び出すための記述。 procedure TForm1.Button1Click(Sender TObject); begin ShowDLLForm(Application.Handle); // DLL側でフォームを作成した後、 // 通常のフォームのShowModalメソッドと同じ動作をして // 作成したフォームを破棄。 end; procedure TForm1.Button2Click(Sender TObject); begin ShowDLLForm2; // DLL側でフォームを作成した後、 // 作成したフォームを表示。 end; end. 実行ファイルからDLL内フォームを制御する DLL内フォームの表示/非表示を、実行ファイルのToolButtonで制御するプログラムのソース。頑張れば他の制御にも応用できるかも。 基本的な仕組みは、 実行ファイルにToolButtonを配置。 DLLフォームのソースファイルに、ToolButtonを使ったイベント処理を記述。 DLLソースファイルに、ToolButtonのイベント設定(DLLフォームのソースにイベント処理の実行部があるので、その受け渡し)と、実行ファイル→DLL内フォームへのToolButton名を受け渡す処理を記述。 DLLSample.dpr(DLLのソースファイル) library DLLSample; uses Windows, // 呼び出し元の特定に使用。 Forms, // フォームの操作に使用。 ComCtrls, // ToolButtonの特定に使用。 Unit_DLLForm in Unit_DLLForm.pas {DLLForm}; // DLLフォームのソースファイル。 {$R *.res} procedure CreateDLLForm(hOwner HWND); stdcall; // DLLフォームを作成する。 begin Application.Handle = hOwner; // DLLフォームの親アプリケーションを特定。 DllForm = TDllForm.Create(Application); // DLLフォームを作成。 end; procedure FreeDLLForm; stdcall; // DLLフォームを破棄する。 begin DLLForm.Free; // DLLフォームを破棄。 Application.Handle = 0; // DLLフォームの親アプリケーションを解放。 end; procedure SetToolBtn1(Sender TToolButton); begin // 親アプリのToolButtonとDLLフォームを連携させる。 DLLForm.ToolBtn1 = Sender; // 親アプリのToolButton名をDLLフォーム側に保存。 with Sender do // 親アプリ側のToolButton設定を変更する。 begin Style = tbsCheck; // ToolButtonをトグルスイッチ型に設定。 // ↑動作確認用。ToolButtonのプロパティを直接設定して構わない。 OnClick = DLLForm.ToolBtn1Click; // ToolButtonをクリックしたときの処理をDLLフォームで用意したものに変更。 end; end; exports // 親アプリから呼び出せる処理を設定。 CreateDLLForm, FreeDLLForm, SetToolBtn1; begin end. Unit_DLLForm(DLLに組み込みたいフォームのソースファイル) unit Unit_DLLForm; type TDLLForm = class(TForm) public ToolBtn1 TToolButton; // 親アプリのToolButtonを保存するための変数。 procedure ToolBtn1Click(Sender TObject); // 親アプリのToolButtonをクリックしたときの処理の定義。 implementation {$R *.dfm} procedure TDLLForm.ToolBtn1Click(Sender TObject); begin // 親アプリのToolButtonがクリックされたとき、 DLLForm.Visible = TToolButton(Sender).Down; end; // DLLフォームの表示/非表示は ToolButton.Downプロパティに合わせる。 procedure TDLLForm.FormClose(Sender TObject; var Action TCloseAction); begin // DLLフォームが閉じられるとき、 ToolBtn1.Down = False; end; // 親アプリのToolButtonのトグルをオフ側にする。 Unit_Sample.pas(DLLを呼び出す Unit のソースファイル) フォームにToolBar1を配置し、ToolBar1上にToolButton1を作成する。 unit Unit_Sample; implementation {$R *.dfm} // ここから、DLLを呼び出すための記述。 procedure CreateDLLForm(hOwner HWND); stdcall; external DLLSample.dll ; // procedure FreeDLLForm; stdcall; external DLLSample.dll ; procedure SetToolBtn1(Sender TToolButton); external DLLSample.dll ; // ここまで、DLLを呼び出すための記述。 procedure TForm1.FormCreate(Sender TObject); begin CreateDLLForm(Application.Handle); // DLLフォームを初期化。 SetToolBtn1(ToolButton1); // ToolButton設定を初期化。 end; procedure TForm1.FormClose(Sender TObject; var Action TCloseAction); begin FreeDLLForm; // DLLフォームを破棄。 end;
https://w.atwiki.jp/abwiki/pages/647.html
概要 コンパイルしたDLLプログラムがWin32/Heurと認識される。 原因 誤認識だと思われます。 AVGには内部にヒューリスティックエンジンが搭載されており、 VisualC++などで作成されたDLLと異なる形式のDLLがABによって作成 されるために怪しいと判定され検知されるようです。 Win32/Heurは現存するウイルス種別の定義ではなく内部の分析エンジンの警告名です。 対処法 AVGおぷしょんの除外を適用するか、VisualC++などでDLLを作成する。
https://w.atwiki.jp/scclassdoc/pages/20.html
アセンブリと Dll の名前 アセンブリは、配置とマネージ コード アプリケーションの id の単位です。 アセンブリは、1 つまたは複数のファイルにまたがることができます、通常このアセンブリは、DLL と一対一をマップします。 そのため、このセクションでは、のみ DLL の名前付け規則、その後、アセンブリの名前付け規則にマップできますがについて説明します。 ✓ DO System.Data などの機能の大きなチャンクを示す アセンブリDLL の名前を選択します。 アセンブリと DLL の名前、名前空間の名前に対応する必要はありませんが、アセンブリの名前を付けるときは、名前空間の名前を以下にすることができます。 適切な経験則では、アセンブリに含まれるアセンブリの共通のプレフィックスに基づいた DLL の名前です。 たとえば、2 つの名前空間を持つアセンブリ MyCompany.MyTechnology.FirstFeature と MyCompany.MyTechnology.SecondFeature, を呼び出す MyCompany.MyTechnology.dllします。 ✓ CONSIDER DLL を次のパターンに従って名前付けることを検討してください。 Company . Component .dll ここで Component にはピリオドで区切られた 1 以上の句が含まれます。 例 Litware.Controls.dll。
https://w.atwiki.jp/ooooasys/pages/20.html
OASYS文書保存のdll
https://w.atwiki.jp/ooooasys/pages/19.html
OASYS文書編集展開のdll
https://w.atwiki.jp/nico_player/pages/15.html
概要flvsplit.dllの特徴 インストール方法 コメント 概要 FLVSplitter.axのインストールにあるFLVSplitterは一部の形式に対応していません 。また、キーフレームが少ない動画でシークに非常に時間が掛かるという問題点があります。 これらの問題はflvsplit.dllを導入することで改善されます。 flvsplit.dllの特徴 ○他のスプリッタに比べ、シーク速度が格段に速い ○どの形式のFLVファイル(FLV1、FLV4)でも再生できる ×速度を変更する機能をもっていない ×環境によってシーク中にフリーズしてしまうことがある インストール方法 1. http //drop.io/flvinstall からflvsplit.zipをダウンロードし、解凍する。 2. (ここからOn2 Flix Engine for Windows(On2FlixEngineDemo*.exe、*はバージョン番号)をダウンロード、解凍する。 必要事項を入力しRegisterボタンを押すと、入力したメールアドレスにシリアルナンバー入りのメールが届きます。 そのシリアルナンバーを使用しダウンロードページへ移動できます。) 3. 解凍したOn2FlixEngineDemo*.exeを1.と同じフォルダに移動する 4. 解凍して出てきたファイル内にある「install.bat」を実行する。 Vistaの場合はUACにひっかかるので右クリック→「管理者として実行」する。 正常に実行されれば、「 ~ の DllRegisterServer は成功しました。」というメッセージが表示されます。 コメント ↑flvsplit.dllの代わりにFlash Video Splitter 1.0.0.5を導入すると症状が改善されるという情報も。 - ttp //www.free-codecs.com/download/Flash_Video_Splitter.htm - 名無しさん 2009-03-20 07 45 31 On2 Flix Engineに同封のflvsplit.dll(とflvdecvp6.dll)は10月に更新されてver.2.7.0.5になった。7月に確認したときはver1.6.7.0だった。 - 名無しさん 2009-11-02 13 28 57 2.7.5.0はFLV1再生したときプレイヤーが落ちた - 名無しさん 2010-06-04 03 51 14 flvsplit.dll2.7.5.0はシークがちゃんとできない - 名無しさん 2010-06-04 03 57 33 おそらくflvsplit.dll-1.6.6.0(On2 Flix Proに同封)+flvdecvp6.dll-2.7.5.0(On2 Flix Engine Demosに同封)の組合せがいい - 名無しさん 2010-06-04 04 29 35 初期の(ニコ動がFLV4/VP4対応した直後あたり)のflvsplit.dll(1.5.3.0)だと、ニコ動のFLVは問題なくても現在のYouTubeのFLV(バージョン不明)がデコードできなくなっている。参考:ttp //www.katch.ne.jp/~kakonacl/douga/flv_flashplayer/flv_splitter.html もはやスプリッタはMPCしかダメかもしれん… - 名無しさん 2011-01-12 06 48 35 書いてあるサイトではもうダウンロードできないようなのですが・・・ - 名無しさん 2011-01-20 18 45 28 ↑の人は解決したのかな? 他のサイトでうpされてるのを発見したので報告。 ttp //lostware.web.fc2.com/lostware/ - 名無しさん 2011-03-17 23 01 23 1/20の人ではありませんが、助かりました。ありがとうございます。 - 名無しさん 2011-04-09 18 23 26 2ができなくなっていて先に進めません。Flash Video decoders(FLVSplitter.ax)で対応していないflvを再生する方法はありませんか - 名無しさん 2012-02-27 17 35 08 名前
https://w.atwiki.jp/gdiplusplus/pages/49.html
gdi++.dll(Helium版) -スパゲッティコードからの脱却、高速化、そして新たなる高みへ- gdi++.dll(Helium版)概要作者 最新版 名前について 表示例 注意 基本的な使い方 FAQ、未解決の問題 その他(内容が古いかも) 概要 以下は付属マニュアル(gdi++.htm)からのコピペです。 コアエンジン (Helium と呼ぶ事にする) をフルスクラッチした gdi++ です。 具体的には…… SourceMonitor で Max Complexity が 30 以下になりました。 FreeType 内蔵キャッシュの使用を廃止し、独自のキャッシュシステムを使用することでメモリ消費量を削減しました。 MS Pゴシックなどの太字やイタリック体をエミュレートしているフォントで FontStream を多重に確保しないようにしました。 文字の描画に必要な API のみをフックし、その他は GDI の結果をそのまま使うようにしました。 マルチスレッドからの非同期アクセスに対する安定性が大幅に向上しました。 「一応0789(0577)ベースですが、もはやソースレベルでは別物」だそうです。 作者 gdi++9px(実質10px)740氏(コテ、トリップなし) 最新版 配布サイトはこちら。 名前について 表記 Helium版、Helium、ヘリウム、He版とか。決してヒーリウムではない。 名前変更の理由 ソースが前のバージョンとはもはや別物になってしまったから。 名前の由来 憶測で書いてますが・・・ 斧にアップしてたときファイル名の先頭にHe_がついてたから(Heはヘリウムの元素記号) 軽いから(ヘリウムは水素に次いで軽い) 安定してるから(ヘリウムはもっとも安定した分子) 表示例 gdi++うpろだEX(テスト版やiniうp、SS晒しとか)へGO! 注意 実験版ですので必ず付属マニュアル(gdi++htm)を読んでから使うように。 SSE2対応CPU(Pentium 4、Pentium M、Athlon64 以降の CPU)で動作します。 Windows XP SP3 以外での動作は保証しません。64 ビット版OSでの動作も保証しません freetype.dllは必ず Helium版と一緒に配布されているもの(dll.zipに同梱)を使用して下さい。 重大な欠陥が見つかった場合は予告無しに削除されるかもしれません。再配布・転載などはしないで下さい。 ネトラン厨お断り 基本的な使い方 Helium版の使い方はgdi++(FreeType)と同じですが、iniファイルのオプションが若干異なります。これについては付属マニュアル(gdi++.htm)が非常に丁寧なので、そちらを見て下さい。 ここではGdiTray(gdi++.dll を全プロセスに対して適用させるソフト)の使い方について述べます。 注 基本的なPCの操作、解凍の方法、iniファイルの書き方は理解しているものとします。 gdi++Helium版、動作に必要なDLL及びGdiTrayを配布サイトからDLし、全て同じフォルダに展開する。 付属マニュアル(gdi++.htm及びgditray.htm)を熟読する。 ファイル群を展開したフォルダにgdi++.iniを作成し、マニュアルに記載されたGdiTrayのiniファイルの内容を書く。 MultiINISelector=1の場合はiniフォルダを作成しそのフォルダ内に作成したiniファイルに、MultiINISelector=0の場合はgdi++.iniの続きにマニュアルに記載されたgdi++本体のiniファイルの内容を書く。 gditray.exeを起動。スタートアップにショートカットを作ればWindows起動時に自動で起動できます。 FAQ、未解決の問題 うちの CPU、SSE2 に対応してないんですけど・・・→ 頻繁に呼ばれる部分を随時 SIMD 化しているので、もう対応できません。ごめんなさい。 古いPCだからこそ軽いバージョン使いたいのがわからないのか!→ SSE2に特化することで軽くしてるんだから、諦めて0787でも使って下さい。 ソース無いんだが→ ライセンスでグレーなところがあるかもしれないようで現在調査中のためソースは同梱されていません。 もっとちゃんとした使い方のマニュアルみたいなのはないの? 画像入りで分かりやすいやつ。→ もし良ければ書いて下さい。嫌なら親切な人が書いてくれるのを待って下さい。書く気はあるけど一人で全部書けないなら中途半端でもwikiに書くと誰か書き足してくれるかも。 全適用したい→ 下のFAQにある方法を使うか、上のGdiTrayを使って下さい。 ○○○が落ちる→ freetype.dllのバージョンは正しいですか? HDDに前のが残ってることもありうるので検索してみて下さい。もし正しければ開発スレに報告して下さい。OS、gdi++のバージョン、落ちるアプリケーション、CPU、メモリを明記すること。またフォント変えたら問題ない場合とかはフォントも。 その他(内容が古いかも) FAQ Tips